home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / p_man / cat3 / standard / stcu.z / stcu
Encoding:
Text File  |  1998-10-30  |  8.4 KB  |  199 lines

  1.  
  2.  
  3.  
  4. SSSSTTTTCCCCUUUU((((3333XXXX))))                                                              SSSSTTTTCCCCUUUU((((3333XXXX))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      stcu - routines that provide a compilation unit symbol table interface
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      ####iiiinnnncccclllluuuuddddeeee <<<<ssssyyyymmmmssss....hhhh>>>>
  13.  
  14.      ppppCCCCHHHHDDDDRRRRRRRR sssstttt____ccccuuuuiiiinnnniiiitttt((((vvvvooooiiiidddd))));;;;
  15.  
  16.      vvvvooooiiiidddd sssstttt____sssseeeettttcccchhhhddddrrrr((((ppppCCCCHHHHDDDDRRRRRRRR ppppcccchhhhddddrrrr))));;;;
  17.  
  18.      ppppCCCCHHHHDDDDRRRRRRRR sssstttt____ccccuuuurrrrrrrreeeennnnttttppppcccchhhhddddrrrr((((vvvvooooiiiidddd))));;;;
  19.  
  20.      vvvvooooiiiidddd sssstttt____ffffrrrreeeeeeee((((vvvvooooiiiidddd))));;;;
  21.  
  22.      lllloooonnnngggg sssstttt____eeeexxxxttttaaaadddddddd((((lllloooonnnngggg iiiissssssss,,,, lllloooonnnngggg vvvvaaaalllluuuueeee,,,, lllloooonnnngggg sssstttt,,,, lllloooonnnngggg sssscccc,,,, lllloooonnnngggg iiiinnnnddddeeeexxxx))));;;;
  23.  
  24.      ppppEEEEXXXXTTTTRRRR sssstttt____ppppeeeexxxxtttt____iiiieeeexxxxtttt((((lllloooonnnngggg iiiieeeexxxxtttt))));;;;
  25.  
  26.      ppppEEEEXXXXTTTTRRRR sssstttt____ppppeeeexxxxtttt____rrrrnnnnddddxxxx((((RRRRNNNNDDDDXXXXRRRR rrrrnnnnddddxxxx))));;;;
  27.  
  28.      lllloooonnnngggg sssstttt____iiiieeeexxxxttttmmmmaaaaxxxx((((vvvvooooiiiidddd))));;;;
  29.  
  30.      lllloooonnnngggg sssstttt____eeeexxxxttttssssttttrrrraaaadddddddd((((cccchhhhaaaarrrr ****ssssttttrrrr))));;;;
  31.  
  32.      cccchhhhaaaarrrr ****sssstttt____ssssttttrrrr____eeeexxxxttttiiiissssssss((((lllloooonnnngggg iiiissssssss))));;;;
  33.  
  34.      lllloooonnnngggg sssstttt____iiiiddddnnnn____iiiinnnnddddeeeexxxx____ffffeeeexxxxtttt((((lllloooonnnngggg iiiinnnnddddeeeexxxx,,,, lllloooonnnngggg ffffeeeexxxxtttt))));;;;
  35.  
  36.      lllloooonnnngggg sssstttt____iiiiddddnnnn____rrrrnnnnddddxxxx((((RRRRNNNNDDDDXXXXRRRR rrrrnnnnddddxxxx))));;;;
  37.  
  38.      ppppRRRRNNNNDDDDXXXXRRRR sssstttt____ppppddddnnnn____iiiiddddnnnn((((lllloooonnnngggg iiiiddddnnnn))));;;;
  39.  
  40.      RRRRNNNNDDDDXXXXRRRR sssstttt____rrrrnnnnddddxxxx____iiiiddddnnnn((((lllloooonnnngggg iiiiddddnnnn))));;;;
  41.  
  42.      vvvvooooiiiidddd sssstttt____sssseeeettttiiiiddddnnnn((((lllloooonnnngggg iiiiddddnnnnddddeeeesssstttt,,,, lllloooonnnngggg iiiiddddnnnnssssrrrrcccc))));;;;
  43.  
  44. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  45.      The _s_t_c_u routines provide an interface to objects that occur once per
  46.      object rather than once per file descriptor (for example, external
  47.      symbols, strings, and dense numbers).  The routines provide access to the
  48.      current _c_h_d_r (compile time hdr), which represents the symbol table in
  49.      running processes with pointers to symbol table sections rather than
  50.      indices and offsets used in the disk file representation.
  51.  
  52.      A new symbol table can be created with _s_t__c_u_i_n_i_t. This routine creates
  53.      and initializes a CHDRR (see <_c_m_p_l_r_s/_s_t_s_u_p_p_o_r_t._h>).  The CHDRR is the
  54.      current chdr and is used in all later calls.  NNNNOOOOTTTTEEEE:  A chdr can also be
  55.      created with the read routines (see _s_t_i_o(3x)).  The _2_s_t__c_u_i_n_i_t routine
  56.      returns a pointer to the new CHDRR record.
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. SSSSTTTTCCCCUUUU((((3333XXXX))))                                                              SSSSTTTTCCCCUUUU((((3333XXXX))))
  71.  
  72.  
  73.  
  74.      _s_t__c_u_r_r_e_n_t_c_h_d_r
  75.              Returns a pointer to the current chdr.
  76.  
  77.      _s_t__s_e_t_c_h_d_r
  78.              Sets the current chdr to the _p_c_h_d_r argument and sets the per file
  79.              structures to reflect a change in symbol tables.
  80.  
  81.      _s_t__f_r_e_e Frees all constituent structures associated with the current
  82.              chdr.
  83.  
  84.      _s_t__e_x_t_a_d_d
  85.              Lets you add to the externals table. It returns the index to the
  86.              new external for future reference and use. The _i_f_d field for the
  87.              external is filled in by the current file (see _s_t_f_d._3).  For more
  88.              details on the parameters, see <_s_y_m._h>.
  89.  
  90.      _s_t__p_e_x_t__i_e_x_t
  91.  
  92.      and     _s_t__p_e_x_t__r_n_d_x Returns pointers to the external, given a index
  93.              referencing them. The latter routine requires a relative index
  94.              where the _i_n_d_e_x field should be the index in external symbols and
  95.              the _r_f_d field should be the constant ST_EXTIFD.  NNNNOOOOTTTTEEEE:  The
  96.              externals contain the same structure as symbols (see the _S_Y_M_R and
  97.              _E_X_T_R definitions).
  98.  
  99.      _s_t__i_e_x_t_m_a_x
  100.              Returns the current number of entries in the external symbol
  101.              table.
  102.  
  103.      The _i_s_s field in external symbols (the index into string space) must
  104.      point into external string space.
  105.  
  106.      _s_t__e_x_t_s_t_r_a_d_d
  107.              Adds a null-terminated string to the external string space and
  108.              returns its index.
  109.  
  110.      _s_t__s_t_r__e_x_t_i_s_s
  111.              Converts that index into a pointer to the external string.
  112.  
  113.      The dense number table provides a convenience to the code optimizer,
  114.      generator, and assembler. This table lets them reference symbols from
  115.      different files and externals with unique densely packed numbers.
  116.  
  117.      _s_t__i_d_n__i_n_d_e_x__f_e_x_t
  118.              Returns a new dense number table index, given an index into the
  119.              symbol table of the current file (or if _f_e_x_t is set, the
  120.              externals table).
  121.  
  122.      _s_t__i_d_n__r_n_d_x
  123.              Returns a new dense number, but expects a RNDXR (see <_s_y_m._h>) to
  124.              specify both the file index and the symbol index rather than
  125.              implying the file index from the current file.  The RNDXR
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. SSSSTTTTCCCCUUUU((((3333XXXX))))                                                              SSSSTTTTCCCCUUUU((((3333XXXX))))
  137.  
  138.  
  139.  
  140.              contains two fields: an index into the externals table and a file
  141.              index (_r_s_y_m_s can point into the symbol table, as well). The file
  142.              index is ST_EXTIFD (see <_c_m_p_l_r_s/_s_t_s_u_p_p_o_r_t._h>) for externals.
  143.  
  144.      _s_t__r_n_d_x__i_d_n
  145.              Returns a RNDX, given an index into the dense number table.
  146.  
  147.      _s_t__p_d_n__i_d_n
  148.              Returns a pointer to the RNDXR index by the `idn' argument.
  149.  
  150.      The programs must be loaded with the object file access routine library
  151.      _l_i_b_m_l_d._a.
  152.  
  153. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  154.      stfe(3x), stfd(3x)
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.